package com.shujia.day14;

import java.io.*;

public class Code16ObjectOutputStream {
    public static void main(String[] args) throws IOException {
        FileOutputStream fileOutputStream = new FileOutputStream("data/object.txt");
        ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);

        /*
            对于对象通过ObjectOutputStream写出时，要求对象进行做序列化操作
              java.io.NotSerializableException


            从JDK API 文档中可以看到：
                只有支持java.io.Serializable接口的对象才能写入流中
            所以对于Student类需要将其实现Serializable接口 对于该接口不需要实现相关的方法

            从输出结果中，大致能够看出来保存的是一个对象中的信息，写入的是一个对象 而不是一个字符串 所以对于部分信息无法展示

         */
        // public Student(int id, String name, int age, String sex)
        objectOutputStream.writeObject(new Student(1,"张从文",20,"男"));
        objectOutputStream.flush();

        objectOutputStream.close();
    }
}
